@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

@echo off
title 执行bat脚本
:choose
cls
echo ------------------
echo   【请选择项目】
echo ------------------
echo  1. 项目1
echo  2. 项目2
echo  3. 项目3
echo  4. 退出
set /p num=请输入对应数字: 
if %num% == 1 (goto ytx-console)
if %num% == 2 (goto sms-console)
if %num% == 3 (goto isms-console)
if %num% == 4 (goto exit)
goto choose

:ytx-console
cls
d:
cd \www\company\ytx-console\web
goto selectAction
goto choose

:sms-console
cls
d:
cd \www\company\sms-console\web
goto selectAction
goto choose

:isms-console
cls
d:
cd \www\company\isms-console\web
goto selectAction
goto choose

:exit
exit

goto selectAction

pause

rem 选择函数
:selectAction
echo ----------------------
echo    请选择对应的操作
echo ----------------------
echo  1. 运行（dev）
echo  2. 打包（build）
echo  3. 拉取（pull）
echo  4. 提交（add/commit/push）
echo  5. 切换node版本（nvm）
echo  6. 返回上级（back）
echo  7. 退出
set/p n=  请选择：

if "%n%"=="1" goto dev
if "%n%"=="2" goto build
if "%n%"=="3" goto gitPull
if "%n%"=="4" goto gitAdd
if "%n%"=="5" goto nvm
if "%n%"=="6" goto choose
if "%n%"=="7" exit

:dev
npm run dev
set/p  devText=  按y继续，否则退出：
If  %devText%==y ( goto selectAction  ) else (exit)

:build
npm run build
set/p  buildText=  按y继续，否则退出：
If  %buildText%==y ( goto selectAction  ) else (exit)

:gitPull
git pull
set/p  gitPullText=  按y继续，否则退出：
If  %gitPullText%==y ( goto selectAction  ) else (exit)

:gitAdd
echo    请选择要提交的数据，然后按回车
echo ----------------------------------------
echo        1，全部文件
echo        2，单个文件
echo        3，返回上一级
echo ----------------------------------------
set/p  f=  请选择：

if "%f%"=="1" goto all
if "%f%"=="2" goto one 
if "%f%"=="3" goto selectAction

:one
set/p  fo=  请输入要上传的文件：
git add "%fo%"
echo add操作完毕
set/p  co=  请描述提交内容：
git commit -m "%co%"
echo commit操作完毕
set/p  yo=  推送远程（y），退出（非y）：
If  %yo%==y ( git push origin master -f  ) else (exit)
echo push操作完毕
set/p  oneText=  按y继续，否则退出：
If  %oneText%==y ( goto gitAdd  ) else (exit)

:all
git add .
echo add操作完毕
set/p  ca=  请描述提交内容：
git commit -m "%ca%"
echo commit操作完毕
set/p  yd=  推送远程（y），退出（非y）：
If  %yd%==y ( git push origin master -f  ) else (exit)
echo push操作完毕
set/p  allText=  按y继续，否则退出：
If  %allText%==y ( goto gitAdd  ) else (exit)

:nvm
nvm list
set/p  version=  请输入版本号：
nvm use "%version%"
set/p  nvmText=  按y继续，否则退出：
If  %nvmText%==y ( goto selectAction  ) else (exit)